<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		
		
		<script>
			//在es6之前没有类的概念所以如果要实现继承，则只能借用父构造函数来继承属性
			//首先创建父构造函数
			function father(uname,age){
				//首先这里面的this指向父类实例
				this.uname=uname;
				this.age=age;
				console.log(uname+","+age);
			}
			
			//再创建子构造函数
			function son(uname,age){
				//首先我们这个son构造函数中的this指向son实例对象，所以我们可以通过.call的方式让父类中的this指向子类中的this所指的对象也就是son实例对象。
				//这样son构造函数的实例对象就相当于继承了父类的属性，所以可以调用father构造函数中的uname属性，和age属性。但是毕竟实在别的函数内部所以我们必须通过.call来调用别的函数来传值。
				father.call(this,uname,age);//当我们传入变量参数时，创建son的实例对象的时候相当于把father中的两个变量添加到son对象中
				
			}
			var s1 =new son();


			console.log(s1.uname+","+s1.age);//因为father构造函数中的值指向了son构造函数的实例对象，所以son的实例对象可以调用father构造函数内的属性。
			console.log(s1);
			s1.uname='流的化';

			console.log(s1.uname);
		</script>
	</body>
</html>
